LAYER 1: EXECUTIVE CONTEXT (Cody's Notes)
Cody's Notes
LAYER 2: CORE PHILOSOPHY (The Narrative Summary)
TL;DR: Many software developers struggle to explain why they are writing code in a way that relates to customer value. To bridge this gap, teams need a clear project vision statement so every member can pass the "elevator test"—explaining what they are working on and why it matters to the user in under 60 seconds.
Key Takeaways
- The Disconnect: Software developers often view their job strictly as writing code or clearing a bug list, rather than solving a specific customer problem.
- The Elevator Test: Every team member should be able to clearly explain their current task and its real-world value to a layperson within 60 seconds.
- Framing Your Work: Instead of describing a task in technical isolation (e.g., "fixing a data grid sort order"), developers should frame it in terms of user benefit (e.g., "fixing a layout that is confusing our users").
- Building a Vision Statement: The article highlights two frameworks from Jim Highsmith to help teams build a shared vision:
- The Product Vision Model: A formula derived from Geoffrey Moore's Crossing the Chasm that defines the target customer, their need, the product category, its key benefits, and its primary differentiators.
- The "Design-the-Box" Exercise: A collaborative exercise where the team acts as if the product will be sold in a physical, shrink-wrapped box. They must determine the name, graphics, and the 3 to 4 core selling features to put on the front and back of the box.
Why It Matters
Without a unifying vision statement, teams risk sinking time into minor technical details while losing sight of whether they are actually building something useful for their audience.
Generated for the Product Growth Program.
LAYER 3: FULL REFERENCE (Raw Article Content)
Source: Can Your Team Pass The Elevator Test? - Coding Horror
Software developers do love to code. But very few of them, in my experience, can explain why they’re coding. Try this exercise on one of your teammates if you don’t believe me. Ask them what they’re doing. Then ask them why they’re doing it, and keep asking until you get to a reason your customers would understand.
What are you working on?
I’m fixing the sort order on this datagrid.
Why are you working on that?
Because it’s on the bug list.
Why is it on the bug list?
Because one of the testers reported it as a bug.
Why was it reported as a bug?
The tester thinks this field should sort in numeric order instead of alphanumeric order.
Why does the tester think that?
Evidently the users are having trouble finding things when item 2 is sorted under item 19.
If this conversation seems strange to you, you probably haven’t worked with many software developers. Like the number of licks it takes to get to the center of a Tootsie Pop, it might surprise you just how many times you have to ask “why” until you get to something – anything – your customers would actually care about.
It’s a big disconnect.
Software developers think their job is writing code. But it’s not. Their job is to solve the customer’s problem. Sure, our preferred medium for solving problems is software, and that does involve writing code. But let’s keep this squarely in context: writing code is something you have to do to deliver a solution. It is not an end in and of itself.
As software developers, we spend so much time mired in endless, fractal levels of detail that it’s all too easy for us to fall into the trap of coding for the sake of coding. Without a clear focus and something to rally around, we lose the context around our code. That’s why it’s so important to have a clear project vision statement that everyone can use as a touchstone on the project. If you’ve got the vision statement down, every person on your team should be able to pass the “elevator test” with a stranger – to clearly explain what they’re working on, and why anyone would care, within 60 seconds.
If your team can’t explain their work to a layperson in a meaningful way, you’re in trouble, whether you realize it or not. But you are in good company. Jim Highsmith is here to help. He explains a quick formula for building a project vision model from Geoffrey Moore’s book Crossing the Chasm. It follows the form:
- For
[target customer] - Who
[statement of need or opportunity] - The
[product name]is a[product category] - That
[key benefit / compelling reason to buy] - Unlike
[primary competitive alternative] - Our product
[statement of primary differentiation]
Creating a product vision statement helps teams remain focused on the critical aspects of the product, even when details are changing rapidly. It is very easy to get focused on the short-term issues associated with a 2-4 week development iteration and lose track of the overall product vision.
I’m not a big fan of formulas, because they’re so, well, formulaic. But it’s a reasonable starting point. Play Mad Libs and see what you come up with. It’s worlds better than no vision statement, or an uninspiring, rambling, ad-hoc mess masquerading as a vision statement. However, I think Jim’s second suggestion for developing a vision statement holds much more promise:
Even within an IT organization, I think every project should be considered to produce a “product.” Whether the project results involve enhancements to an internal accounting system or a new e-commerce site, product-oriented thinking pays back benefits.
One practice that I’ve found effective in getting teams to think about a product vision is the Design-the-Box exercise. This exercise is great to open up a session to initiate a project. The team makes the assumption that the product will be sold in a shrink-wrapped box, and their task is to design the product box front and back. This involves coming up with a product name, a graphic, three to four key bullet points on the front to “sell” the product, a detailed feature description on the back, and operating requirements.
Coming up with 15 or 20 product features proves to be easy. It’s figuring out which 3 or 4 would cause someone to buy the product that is difficult. One thing that usually happens is an intense discussion about who the customers really are.
Design-the-Box is a fantastic way to formulate a vision statement. It’s based on a concrete, real world concept that most people can easily wrap their heads around. Forget those pie-in-the-sky vision quests: what would our (hypothetical) product box look like?
We’re all consumers; the design goals for a product box are obvious and universal. What is a product box if not the ultimate elevator pitch? It should...
- Explain what our product is in the simplest possible way.
- Make it crystal clear why a potential customer would want to buy this product.
- Be uniquely identifiable amongst all the other boxes on the shelf.
Have a rock solid vision statement for your project from day one. If you don’t, use one of Jim’s excellent suggestions to build one up immediately. Without a coherent vision statement, it’s appalling how many teams can’t pass the elevator test – they can’t explain what it is they’re working on, or why it matters. Don’t make that same mistake. Get a kick-ass vision statement that your teammates can relate their work to. Make sure your team can pass the elevator test.
Generated for the Product Growth Program.